home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cug233 / riteman.c < prev    next >
Text File  |  1987-06-30  |  4KB  |  138 lines

  1. /* ritman printer set-up program */
  2. #include "stdio.h"
  3. #define SI '\17'    /* compressed */
  4. #define DC2 '\22'    /* cancel */
  5. #define ESC '\33'    /* escape */
  6. #define CE '\105'    /* esc e = emphasized */
  7. #define CF '\106'    /* esc f cancels */
  8. #define CG '\107'    /* esc g = double strike */
  9. #define CH '\110'    /* esc h cancels */
  10.  
  11. extern FILE *fopen();
  12. extern char *fgets();
  13. extern int fclose(), fputc();
  14. FILE *prn;
  15. int i, j, buflen=15;
  16. char buf[15], *bufptr;
  17. main()
  18. {
  19.     for(i=1;i<=24;++i)
  20.         printf("\n");  /* clear screen */
  21.     printf("Riteman printer setup program\n\n");
  22.     printf("Enter number(s) of options and then press ENTER\n\n");
  23.     printf("A...Pica (10 cpi)      B...Elite (12 cpi)\n");
  24.     printf("C...Skip over perfs    D...Cancel perf skip\n");
  25.     printf("E...Double width       F...Cancel double width\n");
  26.     printf("G...Compressed print   H...Cancel compressed\n");
  27.     printf("I...Emphasized print   J...Cancel emphasized\n");
  28.     printf("K...Double strike      L...Cancel double strike\n");
  29.     printf("M...Proportional print N...Cancel proportional\n");
  30.     printf("O...Unidirectional     P...Cancel\n");
  31.     printf("Q...Italic char set    R...Cancel italics\n");
  32.     printf("S...Half speed print   T...Full speed print\n");
  33.     printf("U...reset to power-on defaults\n\n");
  34.     printf("Choice ==>");
  35.     bufptr = fgets(buf,buflen,stdin);
  36.     prn = fopen("PRN:","w");
  37.     if(prn == NULL) abort("Can\'t open the printer");
  38.     while(*bufptr != EOS){
  39. j = fputc(*bufptr,stderr);
  40. j = fputc('\n',stderr);
  41.         switch(*bufptr){
  42.             case 'A':
  43.                 j = fputc(DC2,prn);
  44.                 j = fputc('\120',prn);
  45.                 break;
  46.             case 'B':
  47.                 j = fputc(ESC,prn);
  48.                 j = fputc('\115',prn);
  49.                 break;
  50.             case 'C':
  51.                 j = fputc(ESC,prn);
  52.                 j = fputc('\116',prn);
  53.                 j = fputc('\6',prn);
  54.                 break;
  55.             case 'D':
  56.                 j = fputc(ESC,prn);
  57.                 j = fputc('\117',prn);
  58.                 break;
  59.             case 'E':
  60.                 j = fputc(ESC,prn);
  61.                 j = fputc('\127',prn);
  62.                 j = fputc('\1',prn);
  63.                 break;
  64.             case 'F':
  65.                 j = fputc(ESC,prn);
  66.                 j = fputc('\127',prn);
  67.                 j = fputc('\0',prn);
  68.                 break;
  69.             case 'G':
  70.                 j = fputc(SI,prn);
  71.                 break;
  72.             case 'H':
  73.                 j = fputc(DC2,prn);
  74.                 break;
  75.             case 'I':
  76.                 j = fputc(ESC,prn);
  77.                 j = fputc(CE,prn);
  78.                 break;
  79.             case 'J':
  80.                 j = fputc(ESC,prn);
  81.                 j = fputc(CF,prn);
  82.                 break;
  83.             case 'K':
  84.                 j = fputc(ESC,prn);
  85.                 j = fputc(CG,prn);
  86.                 break;
  87.             case 'L':
  88.                 j = fputc(ESC,prn);
  89.                 j = fputc(CH,prn);
  90.                 break;
  91.             case 'M':
  92.                 j = fputc(ESC,prn);
  93.                 j = fputc('\160',prn);
  94.                 j = fputc('\1',prn);
  95.                 break;
  96.             case 'N':
  97.                 j = fputc(ESC,prn);
  98.                 j = fputc('\160',prn);
  99.                 j = fputc('\0',prn);
  100.                 break;
  101.             case 'O':
  102.                 j = fputc(ESC,prn);
  103.                 j = fputc('\125',prn);
  104.                 j = fputc('\1',prn);
  105.                 break;
  106.             case 'P':
  107.                 j = fputc(ESC,prn);
  108.                 j = fputc('\125',prn);
  109.                 j = fputc('\0',prn);
  110.                 break;
  111.             case 'Q':
  112.                 j = fputc(ESC,prn);
  113.                 j = fputc('\64',prn);
  114.                 break;
  115.             case 'R':
  116.                 j = fputc(ESC,prn);
  117.                 j = fputc('\65',prn);
  118.                 break;
  119.             case 'S':
  120.                 j = fputc(ESC,prn);
  121.                 j = fputc('\163',prn);
  122.                 j = fputc('\1',prn);
  123.                 break;
  124.             case 'T':
  125.                 j = fputc(ESC,prn);
  126.                 j = fputc('\163',prn);
  127.                 j = fputc('\0',prn);
  128.                 break;
  129.             case 'U':
  130.                 j = fputc(ESC,prn);
  131.                 j = fputc('\100',prn);
  132.                 break;
  133.                    }
  134.         ++bufptr;
  135.     }
  136.     i = close(prn);
  137. }
  138.